﻿Namespace Models
    Public Interface IProfesores
        '<Authorize(Roles:="ERA")> _
        'Function GetListProfesoresActivos() As List(Of VIEW_LIST_PROFESORES_ACTIVOS)

        '<Authorize(Roles:="ERA")> _
        'Function GetProfesores_FormatDictionary() As Dictionary(Of String, String)
    End Interface


    Partial Public Class SchoolClickDB_Repositorio
        Implements IProfesores

        Public ReadOnly Property IProfesores() As IProfesores
            Get
                Return DirectCast(Me, IProfesores)
            End Get
        End Property

        'Public Function GET_INFO_PERSONAL_BYPROFESOR(identificador As String) As GET_INFO_PERSONAL_BYPROFESOR_DATATYPE
        '    Try
        '        Using cnn As New SchoolClickEntities
        '            Return cnn.GET_INFO_PERSONAL_BYPROFESOR(identificador).Single()
        '        End Using
        '    Catch ex As Exception
        '        Throw New ApplicationException("Ocurrio un error al intentar recuperar los datos del profesor", ex)
        '    End Try
        'End Function

        Public Function GET_ALLMATERIAS_PROFESOR_BY_ANIO(Identificador As String) As List(Of GET_ALLMATERIAS_PROFESOR_BY_ANIO_DATATYPE)
            Try
                Using cnn As New SchoolClickEntities
                    Return cnn.GET_ALLMATERIAS_PROFESOR_BY_ANIO(Identificador).ToList
                End Using
            Catch ex As Exception
                Throw New ApplicationException("No se pudo recuperar las materias que imparte el profesor", ex)
            End Try
        End Function

        'Private Function GetListProfesoresActivos() As System.Collections.Generic.List(Of VIEW_LIST_PROFESORES_ACTIVOS) Implements IProfesores.GetListProfesoresActivos
        '    Try
        '        Using cnn As New SchoolClickEntities
        '            Return cnn.VIEW_LIST_PROFESORES_ACTIVOS.ToList
        '        End Using
        '    Catch ex As Exception
        '        Throw New ApplicationException("No se puede recuperar el listado de profesores activos del sistema", ex)
        '    End Try
        'End Function

        'Private Function GetProfesores_FormatDictionary() As System.Collections.Generic.Dictionary(Of String, String) Implements IProfesores.GetProfesores_FormatDictionary
        '    Try
        '        Using cnn As New SchoolClickEntities
        '            Dim items As New Dictionary(Of String, String)
        '            For Each p In cnn.VIEW_LIST_PROFESORES_ACTIVOS.OrderBy(Function(n) n.PROFESOR)
        '                items.Add(p.ID_USUARIO, p.PROFESOR)
        '            Next
        '            Return items
        '        End Using
        '    Catch ex As Exception
        '        Throw New ApplicationException("No se puede recuperar el listado de profesores activos del sistema", ex)
        '    End Try
        'End Function
    End Class
End Namespace

